home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 076-100 / disk_096 / chess / poster < prev    next >
Text File  |  1992-05-06  |  4KB  |  81 lines

  1. # From hvrunix!vu-vlsi!cbmvax!bpa!burdvax!sdcrdcf!oberon!cit-vax!ames!ucbcad!ucbvax!sdcsvax!ucsdhub!hp-sdd!hplabs!hpcea!hpisla!hpltca!jhs Wed Apr 29 16:19:51 1987
  2. # Path: swatsun!hvrunix!vu-vlsi!cbmvax!bpa!burdvax!sdcrdcf!oberon!cit-vax!ames!ucbcad!ucbvax!sdcsvax!ucsdhub!hp-sdd!hplabs!hpcea!hpisla!hpltca!jhs
  3. # From: jhs@hpltca.HP.COM (John Stanback)
  4. # Newsgroups: net.sources.games
  5. # Subject: C source for CHESS
  6. # Message-ID: <2320001@hpltca.HP.COM>
  7. # Date: 29 Apr 87 20:19:51 GMT
  8. # Organization: H P, Colorado Integrated Circuits Div., Loveland, CO
  9. # Lines: 2660
  10. # C source for CHESS
  11. # Here is a shar script containing source code in 'C' for a chess 
  12. # program I've written. The following files are included: 
  13. #   1. chess.c   : C source for CHESS
  14. #   2. chess.opn : Opening Library
  15. #   3. chess.001 : Sample problem
  16. #   
  17. # The file chess.c must be compiled with the -lcurses option. The 
  18. # code is pretty generic (I think) and hopefully will run on a wide 
  19. # variety of machines. The help command gives a list of the options
  20. # available.  To test out the program, enter 'get' and respond to
  21. # the file name prompt with 'chess.001'.  Type 'switch' and the
  22. # computer should find mate in 4 with Nf7.  This takes a few seconds
  23. # on an HP350 computer.
  24. # The program plays a fairly respectable game of chess, although it 
  25. # is not competetive with a state-of-the art commercial program. The 
  26. # search rate is typically 100-300 nodes/sec. on an HP Vectra (8 Mhz. 
  27. # 286) and about 300-900 nodes/sec. on an HP 350 (25 Mhz. 68020). I 
  28. # am interested to find out what is achieved on other machines. I 
  29. # would also be interested in any comments on playing strength, 
  30. # weaknesses or bugs in the program, and suggested improvements in 
  31. # the algorithm. 
  32. # Here are a few comments on the program:
  33. # 1. Opening Library
  34. #      I'm a terrible chess player and don't know anything about 
  35. #      openings. I copied 70-80 random lines of play from MCO into 
  36. #      the file chess.opn. I think there are a few mistakes in the 
  37. #      translation. If anyone generates a better library please let 
  38. #      me know. 
  39. #      
  40. # 2. Positional Heuristics
  41. #      I think that improvement in this area would help the program 
  42. #      quite a bit. In most situations the computer cannot do
  43. #      anything forceful and the choice of a move is based on 
  44. #      positional aspects. I haven't spent a lot of time on the 
  45. #      heuristics and many times the program has no idea of what is 
  46. #      happening and how to proceed. Perhaps optimizing the values of 
  47. #      the existing heuristics would help, but to get a major 
  48. #      improvement I think more chess knowledge will be necessary. 
  49. #      
  50. # 3. Search Algorithm
  51. #      This program uses a full-width alpha-beta searching technique 
  52. #      with depth extensions on checks, check evasions, pawn promotion
  53. #      threats and threats to multiple pieces. Capture sequences are
  54. #      handled by a separate search routine. I imagine that much more
  55. #      efficient search routines exist, and would be interested to hear
  56. #      of any. Refinements of the search extension heuristics (similar
  57. #      to the extensions for pawn promotion threats) could have a major 
  58. #      effect on the programs ability. 
  59. #      
  60. # 4. Move Generation
  61. #      There are probably better ways to do this, but they would 
  62. #      likely change the data structure drastically and necessitate 
  63. #      a complete re-write. Maybe some good hacks would speed things 
  64. #      up, the ataks function would be the best place to start.
  65. #       
  66. # This is a shell archive.  Remove anything before this line,
  67. # then unpack it by saving it in a file and typing "sh file".
  68. #
  69. # Wrapped by jhs at hpltca on Wed Apr 29 13:19:09 1987
  70. #
  71. # This archive contains:
  72. #    chess.c        chess.opn    chess.001    
  73. #
  74.